Aberrant Driver Classification and Reporting

ABSTRACT

Methods, devices and apparatuses pertaining to aberrant driver classification and reporting are described. A method may involve receiving a message from a user of a first vehicle, the message indicating an instance of aberrant driving of a second vehicle. The method may also involve determining that the instance has occurred using one or more classifiers. The method may further involve collecting information of the second vehicle and generating a warning message based on the information.

CROSS REFERENCE TO RELATED PATENT APPLICATION(S)

The present disclosure is part of a continuation of U.S. patentapplication Ser. No. 14/842,666, filed on Sep. 1, 2015, the content ofwhich is incorporated by reference in its entirety.

TECHNICAL FIELD

The present disclosure generally relates to traffic safety and, moreparticularly, to methods and systems for aberrant driver classificationand reporting.

BACKGROUND

Aberrant drivers are a danger to nearby pedestrians, drivers andthemselves. The category of aberrant driving typically includesvariously defined categories of reckless driving, careless driving,improper driving, erratic driving, and driving without due care andattention. Thus, there is a need for a solution for recognizing andmitigating the impact of aberrant driving in order to reduce motorvehicle accidents and fatalities caused by aberrant drivers.

BRIEF DESCRIPTION OF THE DRAWINGS

Non-limiting and non-exhaustive embodiments of the present disclosureare described with reference to the following figures, wherein likereference numerals refer to like parts throughout the various figuresunless otherwise specified.

FIG. 1 is a diagram depicting an example environment in which exampleembodiments of the present disclosure may be implemented.

FIG. 2 is a block diagram depicting an example computing architecture inaccordance with an embodiment of the present disclosure.

FIG. 3 is a diagram of a simplified example of data clustering inaccordance with the present disclosure.

FIG. 4 is a block diagram depicting an example computing architecture inaccordance with another embodiment of the present disclosure.

FIG. 5 is a flowchart of an example process in accordance with anembodiment of the present disclosure.

FIG. 6 is a flowchart of an example process in accordance with anotherembodiment of the present disclosure.

DETAILED DESCRIPTION

In the following description, reference is made to the accompanyingdrawings that form a part thereof, and in which is shown by way ofillustrating specific exemplary embodiments in which the disclosure maybe practiced. These embodiments are described in sufficient detail toenable those skilled in the art to practice the concepts disclosedherein, and it is to be understood that modifications to the variousdisclosed embodiments may be made, and other embodiments may beutilized, without departing from the scope of the present disclosure.The following detailed description is, therefore, not to be taken in alimiting sense.

Implementations herein use unsupervised and/or semi-supervised learningto build and grow a set of features of aberrant driving behaviors. Thesefeatures may be processed to build one or more classifiers. The one ormore classifiers may then be deployed or otherwise transmitted to anumber of vehicles to be used to identify or characterize one or moreaberrant driving behaviors of one or more other vehicles in the vicinityof a vehicle. A user, e.g., a driver or a passenger, of the vehicle mayreport one or more perceived aberrant driving behaviors upon observingdriving behavior(s) of one or more other vehicles that the userperceives to be aberrant driving behavior(s). If a perceived aberrantdriving behavior is confirmed to be an aberrant driving behavioraccording to the one or more classifiers, a warning message may begenerated and transmitted to other vehicles in vicinity of the vehicle.

FIG. 1 is a diagram depicting an example environment 100 in whichexample embodiments of the present disclosure may be implemented.Example environment 100 may include a classifier generation scheme 102for the generation of classifiers for identifying and/or characterizingaberrant driving behaviors. Classifier generation scheme 102 includes acomputing system 104. Computing system 104 may include a computingapparatus, such as a server, or a collection of servers in a distributedconfiguration (e.g., a cloud computing service, a server farm, etc.) ora non-distributed configuration.

In accordance with various embodiments of the present disclosure,computing system 104, in a basic configuration, may include variousmodules, each discussed below. Computing system 104 may collect data byway of a combination of simulations and real-world experiments, such asone or more simulated driving scenarios 106 and one or more real-worldexperiments 108.

In some implementations, in the one or more simulated driving scenarios106, computing system 104 may simulate one or more aberrant drivingbehaviors in a driving simulator. Alternatively, computing systeminstalled on the driving simulator may collect data and transmit thedata to computing system 104 to build and/or train the one or morefeature classifiers 110.

In the one or more simulated driving scenarios 106, a human subject or auser 112 may be subjected to a range of driving scenarios involvingpotential aberrant driving behaviors. For example, a steering wheelinstrumented with push buttons may be used by user 112 to signal whetheruser 112 perceives a currently simulated situation as involving apotentially dangerous or aberrant driving behavior. For example, apushed button may flag a window of time in which another vehicle in thevicinity of the vehicle that user 112 is simulated to be driving mayhave exhibited one or more aberrant driving behaviors. In someimplementations, a monitor of a heart rate, a breath rate and/or adegree of perspiration may be placed on user 112 to measure auxiliarysignals that may indicate unease of user 112 (e.g., an increase in theheart rate, breath rate and/or degree of perspiration) under one or moresimulated driving scenarios 106.

In some implementations, in one or more real-world experiments 108, aportion of computing system 104 may be installed on a vehicle driven byuser 112. Alternatively, another computing system installed on thevehicle may collect data and transmit the data to computing system 104to build and/or train the one or more feature classifiers 110. Forexample, user 112 may drive a vehicle on a road, and the vehicle may beequipped with one or more sensors (e.g., one or more two-dimensional(2D) cameras, a Light Detection and Ranging (LIDAR) or a Radio Detectionand Ranging (RADAR) system) to provide estimate data of other vehiclesin the vicinity of the vehicle driven by user 112. In someimplementations, the vehicle driven by user 112 may receive a signalfrom user 112 when user 112 perceives another vehicle in the vicinity tobe exhibiting one or more aberrant driving behaviors. Moreover, thevehicle driven by user 112 may collect data on driving behaviors ofother vehicles in the vicinity using the one or more sensors within acertain window of time. In these instances, repeating patterns of one ormore aberrant driving behaviors may be procedurally re-simulated toreduce uncertainty and further train the one or more feature classifiers110.

Example environment 100 may further include an aberrant driving warningscheme 114 for uses of the one or more classifiers to identify and/orcharacterize one or more aberrant driving behaviors. Aberrant drivingwarning scheme 114 may include a number of vehicles including, forexample, a vehicle 116, a vehicle 118 and a vehicle 120. The one or morefeature classifiers 110 may be deployed or otherwise transmitted to anyone of these vehicles. For example, the one or more feature classifiers110 may be transmitted to vehicle 116. A user 122, e.g., a driver or apassenger of vehicle 116, may report one or more perceived aberrantdriving behaviors of vehicle 118 to computing system 104, e.g., vianetwork 130. In these instances, user 122 may use an operation (e.g.,depressing a button) similar to that described above when user 122perceives one or more aberrant driving behaviors of vehicle 118 on aroad segment 126.

In some implementations, vehicle 116 may also be equipped with one ormore sensors to allow a computing system 124 of vehicle 116 to collectdata on one or more other vehicles in the vicinity of vehicle 116 (e.g.,vehicle 118). Using the one or more feature classifiers 110, computingsystem 124 may assign a weight, or risk parameter, attributed to thereport (e.g., a warning message) based on a classification of thevehicle in concern, e.g., vehicle 118. In some implementations, the riskparameter may be modified (e.g., having its value increased ordecreased) based on the prevalence of other reports on that samevehicle. For instance, in a situation where a malicious user spamscomputing system 104 with a plethora of false reports on a givenvehicle, computing system 104 may decrease the value of the riskparameter attributed to the reports from the malicious user. In someimplementations, the risk parameter may be a function of evaluation ofand generated by one or more feature classifiers 110, and may indicatean agreement between the evaluation of one or more feature classifiers110 and evaluation of user 122. In some implementations, the riskparameter may also include a measure designed to filter out falsereporting from malicious user(s). This measure may avoid false reportswith unacceptable frequency. In some implementations, the value of therisk parameter may be incrementally decreased by computing system 104over a period of time so that after the passage of a predeterminedamount of time the risk parameter may be zero. This way, a driver of areported vehicle may not be labeled as an aberrant driver permanently,especially when an instance of aberrant driving by such driver may be arare, one-time occasion and not reflective of a normal driving behaviorof such driver.

The warning message may be transmitted to vehicle 120 on a road segment128 via network 130. For instance, vehicle 116 may transmit the warningmessage to vehicle 120 when vehicle 120 satisfies a user-definablemetric such as, for example, being sufficiently close to vehicle 116(e.g., within a close proximity such as 30 feet, 50 feet or 100 feet).Road segment 128 may be within any user-definable metric (e.g., apredetermined range) of road segment 126, e.g., 100 feet, 200 feet orany user-definable distance. Network 130 may include wired and/orwireless networks that enable communications between the variouscomputing devices described in example environment 100. In someembodiments, network 130 may include local area networks (LANs), widearea networks (WAN), mobile telephone networks (MTNs), and other typesof networks, possibly used in conjunction with one another, tofacilitate communication between the various computing devices.

In some implementations, user 122 and a driver of vehicle 120 may be ina drive safety network. For example, the driver of vehicle 120 may bewarned or otherwise made aware that vehicle 118 has exhibited one ormore aberrant driving behaviors and may be approaching vehicle 120, upona determination by computing system 124 and/or user 122 of an instanceof one or more aberrant driving behaviors exhibited by vehicle 118. Thedriver of vehicle 120 may also determine that vehicle 118 exhibits thesame or different one or more aberrant driving behaviors. The drivesafety network may assign and/or aggregate a risk parameter to vehicle118 in response to receiving a warning message regarding vehicle 118.When a value of the risk parameter associated with vehicle 118 exceeds arisk threshold, the drive safety network may automatically report theone or more aberrant driving behaviors exhibited by vehicle 118 to alocal authority.

FIG. 2 is a block diagram depicting an example computing architecture200 in accordance with an embodiment of the present disclosure.Computing architecture 200 may be an example implementation of computingsystem 104, which may be in the form of a computing apparatus havingmodules, kernels, data, and/or hardware.

Computing system 104 may include one or more processors 202 and memory204. Memory 204 may store various modules, applications, programs, orother data. Memory 204 may include one or more sets of instructionsthat, when executed by the one or more processors 202, cause the one ormore processors 202 to perform the operations described herein forcomputing system 104. The one or more processors 202 may include one ormore graphics processing units (GPU) and one or more central processingunits (CPU).

Computing system 104 may have additional features and/orfunctionalities. For example, computing system 104 may also includeadditional data storage devices (removable and/or non-removable)including computer-readable media. Computer-readable media may include,at least, two types of computer-readable media, namely computer storagemedia and communication media. Computer storage media may includevolatile and non-volatile, removable, and non-removable mediaimplemented in any method or technology for storage of information, suchas computer readable instructions, data structures, program modules,program data, or other data. The system memory, the removable storageand the non-removable storage are all examples of computer storagemedia. Computer storage media includes, but is not limited to, RAM, ROM,EEPROM, flash memory or other memory technology, CD-ROM, digitalversatile disks (DVD), or other optical storage, magnetic cassettes,magnetic tape, magnetic disk storage or other magnetic storage devices,or any other medium that can be used to store the desired informationand which can be accessed by computing system 104. Any such computerstorage media may be part of computing system 104. Moreover, thecomputer-readable media may include computer-executable instructionsthat, when executed by the processor(s), perform various functionsand/or operations described herein.

Memory 204 may store an operating system 206 as well as various modulesincluding, for example, a data collection module 208, a clusteringmodule 210, a transmission module 212, and program data 214. Operatingsystem 206 may include one or more sets of instructions that areexecutable by one or more processors 202 to control operations ofcomputing system 104.

Data collection module 208 may be configured to present drivingscenarios involving aberrant driving behaviors to user 112, and receivedata indicative of one or more responses of user 112 regarding thedriving scenarios. Data collected by data collection module 208 may bestored as program data 214.

In some implementations, computing system 104 may simulate the drivingscenarios involving the aberrant driving behaviors using a simulationsystem. For example, user 112 may be situated or otherwise placed intothe simulation system, and one or more responses of user 112 may bemonitored. The one or more responses of user 112 may include signalseach of which indicating an aberrant driving behavior perceived by user112 in response to a simulated condition. In some implementations, theone or more responses may include an auxiliary signal associated withone or more physical parameters of user 112.

In some implementations, computing system 104 may facilitate real-worldexperiments to user 112. Computing system 104 may monitor one or moreresponses of user 112. The one or more responses may include signalseach of which indicating an aberrant driving behavior perceived by user112 in response to a driving condition. Computing system 104 may collectreal-time data including state estimates that are generated by one ormore sensors of a testing vehicle and within a predetermined window oftime after receiving the signals from user 122.

Clustering module 210 may be configured to cluster the data, collectedby data collection module 208, using a nonparametric technique togenerate the one or more feature classifiers 110. For example, a set offeatures may include rules of road infractions such as failure to signala turn, failure to stop at an appropriate signal, proceeding withoutright of way, crossing a solid lane boundary or into oncoming trafficand grossly exceeding the speed limit (e.g., by more than 10 mph).Another set of features may relate to specific absolute and relativeprofiles that observed vehicles may exhibit. This set of features mayinclude, for example, swerving, skidding, oscillating laterally,deviation from a lane center for more than a threshold amount of time,lane changing without proper clearance, erratic speed control, erraticbraking, and off-nominal confluence with a traffic flow.

FIG. 3 illustrates a simplified example 300 of data clustering inaccordance with the present disclosure. In the simplified example 300shown in FIG. 3, there are data associated with three features beingclustered. The three features (e.g., feature 1, feature 2 and feature 3)may pertain to, for example, (1) the speed of a vehicle, (2) an amountof deviation from the center line of a lane in which the vehicle istraveling, and (3) whether a blinker is turned on when the vehicle makesa turn. Data for each of these features may be a series of continuousnumbers (e.g., speed of the vehicle and/or deviation from the centerline of the lane) or discrete numbers (e.g., 0 or 1 indicative ofwhether the blinker is off or on when the vehicle is turning). In thesimplified example 300 shown in FIG. 3, there are six sets of uniquesample data for each of the three features, and these six sets of uniquesample data are grouped into three clusters (e.g., cluster 1, cluster 2and cluster 3) each having two sets of the unique sample data. In someimplementations of the present disclosure, a number of features (e.g.,feature 1, feature 2 and feature 3) may be utilized for featureengineering to collect a number of sets of sample data for clustering byany suitable algorithm, e.g., executed by clustering module 210. Theresult of the data clustering may be used to train classifiers such asthe one or more feature classifiers 110. Examples of an algorithm fordata clustering may include, for example and not limited to, deeplearning based techniques, k-means clustering, and hierarchicalclustering.

Transmission module 212 may be configured to transmit the one or morefeature classifiers 110 to one or more vehicles, e.g., vehicle 116.Accordingly, user 122 of vehicle 116 may report one or more perceivedaberrant driving behaviors of vehicle 118 (and/or any other vehicle),and the report may be transmitted from vehicle 116 to one or more othervehicles, e.g., vehicle 120. For example, if one or more perceivedaberrant driving behaviors of vehicle 118 are confirmed according to theone or more feature classifiers 110, the report may be generated andtransmitted to vehicle 120, which may be in the vicinity of vehicle 116and/or vehicle 118.

FIG. 4 is a block diagram depicting an example computing architecture400 in accordance with an embodiment of the present disclosure.Computing architecture 400 may be an example implementation of computingsystem 124, which may be in the form of a computing apparatus havingmodules, kernels, data, and/or hardware.

Computing system 124 may include one or more processors 402 and memory404. Memory 404 may store various modules, applications, programs, orother data. Memory 404 may include one or more sets of instructionsthat, when executed by the one or more processors 402, cause the one ormore processors 402 to perform the operations described herein forcomputing system 124. The one or more processors 402 may include one ormore graphics processing units (GPU) and one or more central processingunits (CPU).

Computing system 124 may have additional features and/orfunctionalities. For example, computing system 124 may also includeadditional data storage devices (removable and/or non-removable)including computer-readable media. Computer-readable media may include,at least, two types of computer-readable media, namely computer storagemedia and communication media. Computer storage media may includevolatile and non-volatile, removable, and non-removable mediaimplemented in any method or technology for storage of information, suchas computer readable instructions, data structures, program modules,program data, or other data. The system memory, the removable storageand the non-removable storage are all examples of computer storagemedia. Computer storage media includes, but is not limited to, RAM, ROM,EEPROM, flash memory or other memory technology, CD-ROM, digitalversatile disks (DVD), or other optical storage, magnetic cassettes,magnetic tape, magnetic disk storage or other magnetic storage devices,or any other medium that can be used to store the desired informationand which can be accessed by computing system 124. Any such computerstorage media may be part of computing system 124. Moreover, thecomputer-readable media may include computer-executable instructionsthat, when executed by the processor(s), perform various functionsand/or operations described herein.

Memory 404 may store an operating system 406 as well as various modulesincluding, for example, a warning generation application 408, one ormore feature classifiers 110 and program data 418. Warning generationapplication 408 may further include various modules such as, forexample, a communication module 410, an aberrant driving determinationmodule 412, a data collection module 414 and a warning generation module416. Operating system 406 may include one or more sets of instructionsthat are executable by one or more processors 402 to control operationsof computing system 124.

Communication module 410 may be configured to receive a message fromuser 122 of vehicle 116. The message may indicate an instance of anaberrant driving behavior of another vehicle, e.g., vehicle 118, asperceived by user 122.

Aberrant driving determination module 412 may be configured to determinewhether the instance of an aberrant driving behavior has occurred usingthe one or more feature classifiers 110, which may have been trainedusing driving scenario simulations and/or real-world experiments.

In some implementations, the one or more feature classifiers 110 mayinclude template motion plans which may include, for example and notlimited to, aberrant driving features and/or aberrant driving profiles.In these instances, the aberrant driving features are associated withdriving behaviors including, for example and not limited to, at leastone of the following: failure to signal a turn, failure to stop at anappropriate signal, proceeding without right of way, crossing a solidlane boundary, driving into oncoming traffics, exceeding a speed limit,tailgating and honking excessively. The aberrant driving profiles mayinclude, for example and not limited to, at least one of swerving,skidding, oscillating laterally, prolonged deviation from a lane center,lane changing without proper clearance, erratic speed control, erraticbraking, or off-nominal confluence with a traffic flow, any erraticand/or hostile and dangerous driving behaviors.

In some implementations, aberrant driving determination module 412 maydetermine a parameter using the aberrant driving classifiers. Theparameter may indicate possibility that the instance of aberrant drivingbehavior has occurred within a predetermined window of time afterreceiving the message from user 122. Aberrant driving determinationmodule 412 may further determine that the instance has occurred if thevalue of the parameter is greater than a predetermined threshold value.

Data collection module 414 may be configured to collect information ofvehicle 118, which exhibits aberrant driving behaviors in this example.For instance, vehicle 116 may be equipped with one or more sensors(e.g., vision device(s), a LIDAR system or a RADAR system) to provideestimated data of vehicle 118 such as speed, acceleration, directionand/or any information regarding the behavior of vehicle 118. Datacollected by data collection module 414 may be stored as program data418.

Warning generation module 416 may be configured to generate a warningmessage based on the data collected by data collection module 414. Forexample, the warning message may include an encoded license plate numberand/or a description of vehicle 118. Communication module 410 maytransmit the warning message to one or more other vehicles, e.g.,vehicle 120, which may satisfy a user-defined metric with respect to theone or more other vehicles (e.g., when vehicle 120 is in a predeterminedrange of vehicle 116 such as 50 feet, 100 feet or 200 feet).

In some implementations, warning generation application 408 may receivea new warning message indicating another instance of aberrant drivingbehavior of vehicle 118. The other instance may have occurred prior tothe instance perceived by user 122. In some implementations, warninggeneration application 408 may calculate a risk parameter of vehicle 118based on the new warning message and the warning message previouslyreceived, and then provide information of vehicle 118 to computingsystem 104, which may determine whether or not to report to anauthority. For instance, warning generation application 408 may generateand transmit a report to computing system 104, which may determinewhether or not to provide the report to an authority, e.g., Departmentof Motor Vehicles, regarding the aberrant driving behaviors of vehicle118.

FIG. 5 illustrates an example process 500 implementing an embodiment inaccordance with the present disclosure. Example process 500 maycorrespond to one of various implementation scenarios based on exampleenvironment 100, and is provided solely for illustrative purpose so thatthose skilled in the art may better appreciate benefits and advantagesprovided by the present disclosure. Therefore, the scope of the presentdisclosure is not limited by example process 500. For illustrationpurpose and not limiting the scope of the present disclosure, thedescription of example process 500 is provided below in the context ofimplementation using one or more processors 202 of computing system 104.Example process 500 may begin at 502.

At 502, one or more processors 202 may provide one or more drivingscenarios involving one or more aberrant driving behaviors to user 112.In some implementations, one or more processors 202 may provide one ormore simulations of the one or more driving scenarios involving the oneor more aberrant driving behaviors through a simulation system. In otherimplementations, computing system 104 may facilitate real-worldexperiments to which user 112 is subjected. Example process 500 mayproceed from 502 to 504.

At 504, one or more processors 202 may receive data indicative of aresponse of user 112 to the one or more driving scenarios. In someimplementations, the one or more responses may include signals each ofwhich indicating a response to an aberrant driving behavior from user112 under a simulated condition. In some implementations, one or moreprocessors 202 may monitor user 112 to collect data of the one or moreresponses and the one or more driving scenarios. The data of one or moreresponses may include, for example, a measurement of one or moreauxiliary signals associated with one or more physical parameters (e.g.,a heart rate, a breath rate and/or a degree of perspiration) of user112. Example process 500 may proceed from 504 to 506.

At 506, one or more processors 202 may cluster the data of one or moreresponses of user 112 to generate one or more feature classifier 110.The one or more feature classifiers 110 may include, for example, one ormore template motion plans or one or more actions associated with one ormore aberrant driving features or one or more aberrant driving profiles.In some implementations, the one or more aberrant driving features areassociated with one or more driving behaviors including at least one ofthe following: failure to signal a turn, failure to stop at anappropriate signal, proceeding without right of way, crossing a solidlane boundary, driving into oncoming traffics and exceeding a speedlimit. The one or more aberrant driving profiles may include, forexample, at least one of the following: swerving, skidding, oscillatinglaterally, deviation from a lane center for more than a threshold periodof time (e.g., 5 seconds, 10 seconds, 15 seconds, 30 seconds or auser-definable duration), lane changing without proper clearance,erratic speed control, erratic braking and off-nominal confluence with atraffic flow. Example process 500 may proceed from 506 to 508.

At 508, one or more processors 202 may transmit the one or more featureclassifiers 110 to one or more vehicles including vehicle 116. Using theone or more feature classifiers 110, user 122 may report one or moreperceived aberrant driving behaviors of vehicle 118. If a perceivedaberrant driving behaviors is confirmed according to the one or morefeature classifiers 110, a warning message may be generated andtransmitted to vehicle 120, which is in the vicinity of vehicle 118and/or vehicle 116.

In some implementations, the one or more classifiers may include one ormore classifiers trained using either or both of a simulation drivingscenarios and real-world experiments. Additionally or alternatively, theone or more classifiers may include one or more template motion plans,one or more actions associated with one or more aberrant drivingfeatures, one or more aberrant driving profiles, or a combinationthereof. In some implementations, the one or more aberrant drivingfeatures may be associated with driving behaviors that include at leastone of failure to signal a turn, failure to stop at an appropriatesignal, proceeding without right of way, crossing a solid lane boundary,driving into oncoming traffic, or exceeding a speed limit. In someimplementations, the one or more aberrant driving profiles may includeat least one of swerving, skidding, oscillating laterally, deviationfrom a lane center for more than a threshold period of time, lanechanging without proper clearance, erratic speed control, erraticbraking, or off-nominal confluence with a traffic flow.

In some implementations, example process 500 may further involvetransmitting the warning message to at least a third vehicle thatsatisfies a user-defined metric with respect to the first vehicle.

In some implementations, example process 500 may further involve anumber of operations, including: receiving an additional warning messageindicating an additional instance of aberrant driving of the secondvehicle, the additional instance occurring prior to the instance;calculating a risk parameter of the second vehicle based on theadditional warning message and the warning message; and generating areport regarding the aberrant driving of the second vehicle. In someimplementations, the additional warning message may include theinformation of the second vehicle and one or more warning messagesregarding the second vehicle.

In some implementations, in determining that the instance has occurredusing the one or more classifiers, example process 500 may perform anumber of operations, including: determining a parameter using the oneor more classifiers, the parameter indicating a possibility that theinstance of aberrant driving occurs within a predetermined window oftime after receiving the message; and determining that the instanceoccurs in an event that the parameter is greater than a predeterminedvalue.

In some implementations, the warning message may include an encodedlicense plate number of the second vehicle, a description of the secondvehicle, or a combination thereof.

FIG. 6 illustrates an example process 600 implementing an embodiment inaccordance with the present disclosure. Example process 600 maycorrespond to one of various implementation scenarios based on exampleenvironment 100, and is provided solely for illustrative purpose so thatthose skilled in the art may better appreciate benefits and advantagesprovided by the present disclosure. Therefore, the scope of the presentdisclosure is not limited by example process 600. For illustrationpurpose and not limiting the scope of the present disclosure, thedescription of example process 600 is provided below in the context ofimplementation using one or more processors 402 of computing system 124.Example process 600 may begin at 602.

At 602, one or more processors 402 may receive a message from user 122of vehicle 116, e.g., a driver or a passenger sitting in vehicle 116.The message may indicate an instance of aberrant driving of vehicle 118.Example process 600 may proceed from 602 to 604.

At 604, one or more processors 402 may determine a parameter indicatinga possibility that the instance of aberrant driving has occurred withina predetermined window of time after receiving the message from user122. In some implementations, one or more processors 402 may determinethe parameter using the one or more feature classifiers 110. Exampleprocess 600 may proceed from 604 to 606.

At 606, one or more processors 402 may determine whether the value ofthe parameter is greater than a threshold value. In an event that it isdetermined that the value of the parameter is greater than the thresholdvalue (corresponding to the “YES” branch out of operation 606), exampleprocess 600 may proceed to 608. In an event that it is determined thatthe value of the parameter is less than or equal to the threshold value(corresponding to the “NO” branch out of operation 606), example process600 may proceed to 610.

At 608, one or more processors 402 may determine that the instance ofaberrant driving has occurred. Example process 600 may proceed from 608to 612.

At 610, one or more processors 402 may generate an error massage andprovide the message to user 122.

At 612, one or more processors 402 may receive information of vehicle118. The information of vehicle 118 may be collected or obtained usingone or more sensors installed on vehicle 116 (e.g., vision device(s),camera(s), a LIDAR system or a RADAR system) to provide to one or moreprocessors 402 estimated data of vehicles in the vicinity, includingvehicle 120.

At 614, one or more processors 402 may generate a warning message basedon the received information of vehicle 118. For example, the warningmessage may include an encoded license plate number or a description ofvehicle 118.

At 616, one or more processors 402 may transmit the warning message tovehicle 120. For example, user 122 and the driver of vehicle 120 maybelong to a network, which facilitates message sharing within thenetwork.

In some implementations, in providing the one or more driving scenarios,example process 600 may involve providing one or more simulations of theone or more driving scenarios through a simulation system.

In some implementations, in receiving the data indicative of a responseof the user to the one or more driving scenarios, example process 600may involve receiving a measurement of one or more physical parametersof the user as a response to the one or more aberrant driving behaviorsunder a simulated condition.

In some implementations, in the one or more classifiers may include oneor more template motion plans or one or more actions associated with oneor more aberrant driving features. Moreover, the one or more aberrantdriving features may be associated with one or more driving behaviorsthat include at least one of failure to signal a turn, failure to stopat an appropriate signal, proceeding without right of way, crossing asolid lane boundary, driving into oncoming traffic, or exceeding a speedlimit.

In some implementations, in the one or more classifiers may include oneor more template motion plans or one or more actions associated with oneor more aberrant driving profiles. Additionally, the one or moreaberrant driving profiles may include at least one of swerving,skidding, oscillating laterally, deviation from a lane center for morethan a threshold period of time, lane changing without proper clearance,erratic speed control, erratic braking, or off-nominal confluence with atraffic flow.

The articles “a” and “an” are used herein to refer to one or to morethan one (i.e., to at least one) of the grammatical object of thearticle. By way of example, “a user” means one user or more than oneusers. Reference throughout this specification to “one embodiment,” “anembodiment,” “one example,” or “an example” means that a particularfeature, structure, or characteristic described in connection with theembodiment or example is included in at least one embodiment of thepresent disclosure. Thus, appearances of the phrases “in oneembodiment,” “in an embodiment,” “one example,” or “an example” invarious places throughout this specification are not necessarily allreferring to the same embodiment or example. Furthermore, the particularfeatures, structures, databases, or characteristics may be combined inany suitable combinations and/or sub-combinations in one or moreembodiments or examples. In addition, it should be appreciated that thefigures provided herewith are for explanation purposes to personsordinarily skilled in the art and that the drawings are not necessarilydrawn to scale.

Embodiments in accordance with the present disclosure may be embodied asan apparatus, method, or computer program product. Accordingly, thepresent disclosure may take the form of an entirely hardware-comprisedembodiment, an entirely software-comprised embodiment (includingfirmware, resident software, micro-code or the like), or an embodimentcombining software and hardware aspects that may all generally bereferred to herein as a “circuit,” “module,” or “system.” Furthermore,embodiments of the present disclosure may take the form of a computerprogram product embodied in any tangible medium of expression havingcomputer-usable program code embodied in the medium.

The flow diagrams and block diagrams in the attached figures illustratethe architecture, functionality, and operation of possibleimplementations of systems, methods, and computer program productsaccording to various embodiments of the present disclosure. In thisregard, each block in the flow diagrams or block diagrams may representa module, segment, or portion of code, which comprises one or moreexecutable instructions for implementing the specified logicalfunction(s). It will also be noted that each block of the block diagramsand/or flow diagrams, and combinations of blocks in the block diagramsand/or flow diagrams, may be implemented by special purposehardware-based systems that perform the specified functions or acts, orcombinations of special purpose hardware and computer instructions.These computer program instructions may also be stored in acomputer-readable medium that can direct a computer or otherprogrammable data processing apparatus to function in a particularmanner, such that the instructions stored in the computer-readablemedium produce an article of manufacture including instruction meanswhich implement the function/act specified in the flow diagram and/orblock diagram block or blocks.

Although the present disclosure is described in terms of certainembodiments, other embodiments will be apparent to those of ordinaryskill in the art, given the benefit of this disclosure, includingembodiments that do not provide all of the benefits and features setforth herein, which are also within the scope of this disclosure. It isto be understood that other embodiments may be utilized, withoutdeparting from the scope of the present disclosure.

1. A method, comprising: determining, by one or more processors, that aninstance of aberrant driving of a second vehicle has occurred using oneor more classifiers; receiving, by the one or more processors from oneor more sensors of a first vehicle, information of the second vehicleobtained by the one or more sensors; and generating, by the one or moreprocessors, a warning message that identifies the second vehicle basedon the information received from the one or more sensors, wherein thedetermining that the instance has occurred using the one or moreclassifiers comprises: determining a risk parameter using the one ormore classifiers, the risk parameter indicating a possibility that theinstance of aberrant driving occurs within a predetermined window oftime; determining that the instance occurs in an event that the riskparameter is greater than a predetermined value; and incrementallydecreasing a value of the risk parameter over a period of time suchthat, after passage of a predetermined amount of time, the value of therisk parameter is zero.
 2. The method of claim 1, wherein the one ormore classifiers comprise one or more classifiers trained using eitheror both of a simulation driving scenarios and real-world experiments. 3.The method of claim 1, wherein the one or more classifiers comprise oneor more template motion plans, one or more actions associated with oneor more aberrant driving features, one or more aberrant drivingprofiles, or a combination thereof.
 4. The method of claim 3, whereinthe one or more aberrant driving features are associated with drivingbehaviors comprising at least one of failure to signal a turn, failureto stop at an appropriate signal, proceeding without right of way,crossing a solid lane boundary, driving into oncoming traffic, orexceeding a speed limit.
 5. The method of claim 3, wherein the one ormore aberrant driving profiles comprise at least one of swerving,skidding, oscillating laterally, deviation from a lane center for morethan a threshold period of time, lane changing without proper clearance,erratic speed control, erratic braking, or off-nominal confluence with atraffic flow.
 6. The method of claim 1, wherein the warning messagecomprises an encoded license plate number of the second vehicle, adescription of the second vehicle, or a combination thereof.
 7. Themethod of claim 1, further comprising: transmitting the warning messageto at least a third vehicle that satisfies a user-defined metric withrespect to the first vehicle.
 8. The method of claim 1, furthercomprising: receiving an additional warning message indicating anadditional instance of aberrant driving of the second vehicle, theadditional instance occurring prior to the instance; calculating therisk parameter of the second vehicle based on the additional warningmessage and the warning message; and generating a report regarding theaberrant driving of the second vehicle.
 9. The method of claim 8,wherein the additional warning message comprises the information of thesecond vehicle and one or more warning messages regarding the secondvehicle.
 10. The method of claim 8, further comprising: transmitting thereport to an authority.
 11. The method of claim 1, further comprising:receiving, by one or more processors, a message from a user of the firstvehicle, the message indicating the instance of aberrant driving of thesecond vehicle, wherein the risk parameter indicates the possibilitythat the instance of aberrant driving occurs within the predeterminedwindow of time after receiving the message.